//////////////////////////////////////////////////////////////////////////////////
//	 Copyright 2011 by Yosef Grabivker, ryuho@homenetworksoft.com
//
//   Licensed under the Apache License, Version 2.0 (the "License");
//   you may not use this file except in compliance with the License.
//   You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
//   Unless required by applicable law or agreed to in writing, software
//   distributed under the License is distributed on an "AS IS" BASIS,
//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//   See the License for the specific language governing permissions and
//   limitations under the License.
//////////////////////////////////////////////////////////////////////////////////

#ifndef _TRAFIC_COLOR_SELECTOR_YG_H__
#define _TRAFIC_COLOR_SELECTOR_YG_H__

#include "def.h"

BEGIN_DECLARE_EVENT_TYPES()
    DECLARE_EVENT_TYPE(wxEVT_COLOR_CHANGED,   MESSAGE_ID_START+100)
END_DECLARE_EVENT_TYPES()

#define EVT_ON_COLOR_CHANGED(id, fn) \
    DECLARE_EVENT_TABLE_ENTRY( \
    	wxEVT_COLOR_CHANGED, id, wxID_ANY, \
        (wxObjectEventFunction)(wxEventFunction) wxStaticCastEvent( wxCommandEventFunction, &fn ), \
        (wxObject *) NULL \
    ),

class CTraficColorSelector: public wxPanel
{
public:
								CTraficColorSelector(wxWindow* parent, bool bRecv=true, wxWindowID id=wxID_ANY);
	virtual						~CTraficColorSelector(void);

	wxColor						GetColor()			{ return m_color; }
	void						SetColor(const wxColor&	 color);

protected:
	void						OnSize(wxSizeEvent& event);
	void						OnPaint(wxPaintEvent& event);
	void						OnClick(wxMouseEvent& event);

private:
	wxColor						m_color;
	bool						m_bRecv;
};

#endif //_TRAFIC_COLOR_SELECTOR_YG_H__
